html {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	line-height: 1.4em;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
	overflow: hidden;
	background-color: #000;
}

body {
	height:100%;
	font-weight: 300;
	font-family: 'Source Sans Pro', sans-serif;
	overflow: hidden;
}

a:active,
a:focus {
   outline: 0;
   border: none;
  -moz-outline-style: none
}

#wrapper {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

#container {
	width: 100%;
	position:relative;
	height: 100%;
	padding-bottom:0px;
}

#footer {
	height: 2em;
	text-align: center;
	width: 100%;
	opacity: 0.75;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#footer a,
.footer-content a {
	display: inline-block;
    text-decoration: inherit; /* no underline */
	transition: background-color .4s;
	-moz-transition: background-color .4s;
	-webkit-transition: background-color .4s;
}


#columns {
	padding: 0em 0 0em 0;
	position:relative;
	box-sizing: border-box;
	height: 100%;
	overflow: hidden;
}

.column {
	padding: 0em;
	box-sizing: border-box;
	height: 100%;
	overflow: hidden;
}

.column-objects {
	float: left;
	width: 20%;
}

.column-unity {
	display: inline-block;
	/* left: 2em; */
	width: 55%;
	transition: width .4s;
	-moz-transition: width .4s;
	-webkit-transition: width .4s;
}

.column-description {
	width: 25%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	transition: right .4s;
	-moz-transition: right .4s;
	-webkit-transition: right .4s;
}
.column-description.invisible {
	right: -25%;
}
.column-description.invisible + .column-unity {
	width: 80%;
}

.column-header {
	font-weight: 300;
	font-family: 'Rayman Origins', sans-serif;
	margin: 0;
	padding: 0.5em;
	text-align: center;
	font-size: 1.5em;
	position: relative;
}

.column-content {
	height: calc(100% - 6em);
	overflow-y: auto;
}

.column-sidebar {
	float: left;
	width: 5em;
	height: calc(100% - 6em);
	transition: width .4s;
	-moz-transition: width .4s;
	-webkit-transition: width .4s;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.column-sidebar-content {
	width: calc(100% + 40px);
	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	position: relative;
}

.column-footer {
	margin: 0;
	padding: 0.5em;
	text-align: center;
	line-height: 2.1em;
	height: 2.1em;
	vertical-align: middle;
	position: relative;
	font-size: 1.5em;
	
	/*-webkit-border-bottom-left-radius: 3em;
	-webkit-border-bottom-right-radius: 3em;
	-moz-border-radius-bottomleft: 3em;
	-moz-border-radius-bottomright: 3em;
	border-bottom-left-radius: 3em;
	border-bottom-right-radius: 3em;*/
}

.game-item,
.game-category-item,
.version-item {
	display: block;
	width: 100%;
	height: 2em;
	/*padding: 0 2em 0 2em;*/
	line-height: 2em;
	/*-o-transition: .4s;
    -ms-transition: .4s;
    -moz-transition: .4s;
    -webkit-transition: .4s;
    transition: .4s;*/
	opacity: 1;
	-o-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -ms-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -moz-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -webkit-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
	background-color: transparent;
	position: relative;
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.game-item > *,
.game-category-item > *,
.version-item > * {
	display: block;
	padding: 0;
	margin: 0;
}

.game-item,
.version-item {
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	padding: 0 1.5em 0 1.5em;
	height: 3em;
	line-height: 3em;
	cursor: pointer;
}

.game-item > .game-item-logo {
	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
	width: 5em;
	height: 100%;
	text-align: center;
	background-image: none;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.version-item > .version-item-image {
	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
	width: 2.5em;
	height: 2.5em;
	padding: 0.25em 0 0.25em 0;
	text-align: center;
	background-image: none;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

.game-item > .game-item-title {
	display: inline-block;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	width: calc(100% - 5em);
	padding: 0 0 0 1.5em;
	height: 100%;
	text-align: left;
}
.version-item > .version-item-name {
	display: inline-block;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	width: calc(100% - 2.5em);
	padding: 0 0 0 1.5em;
	height: 100%;
	text-align: left;
}

.current-game-item,
.current-version-item {
	font-weight: bold;
}

.game-category-item {
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	padding: 0 3em 0 3em;
	height: 3em;
	line-height: 3em;
	font-weight: bold;
}

.objects-item,
.levels-item,
.behaviors-item,
.dsgvars-item,
.transitions-item,
.localization-item,
.entryactions-item {
	font-size: 0.9em;
	display: block;
	width: 100%;
	height: 2em;
	/*padding: 0 2em 0 2em;*/
	line-height: 2em;
	/*-o-transition: .4s;
    -ms-transition: .4s;
    -moz-transition: .4s;
    -webkit-transition: .4s;
    transition: .4s;*/
	opacity: 1;
	-o-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -ms-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -moz-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -webkit-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
	background-color: transparent;
	position: relative;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	padding: 0 1.5em 0 1.5em;
	text-overflow: ellipsis;
	text-align: left;
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.localization-item,
.entryactions-item {
	min-height: 2em;
	height: auto;
}
.dsgvars-item.dsgvar-array > *,
.selectState {
	-o-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -ms-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -moz-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    -webkit-transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
    transition: color .4s, background-color .4s, font-weight .4s, opacity .5s;
	background-color: transparent;
}
.objects-item.object-perso,
.behaviors-item.behavior {
	padding: 0 0.5em 0 0.5em;
	cursor: pointer;
	display: flex;
}
.levels-item.level {
	padding: 0 2.5em 0 2.5em;
	cursor: pointer;
}
.levels-item.level > .name {
	text-align: left;
	display: inline-block;
	width: 70%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
}
.levels-item.level > .internal-name {
	font-family: Consolas, monaco, monospace;
	font-size: 0.85em;
	text-align: right;
	display: inline-block;
	width: 30%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
}
.localization-item > .localization-item-text {
	flex: 1 1 auto;
	text-align: left;
	padding: 0 0.5em 0 0.5em;
	box-sizing: border-box;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
	height: 100%;
}
.entryactions-item > .entryactions-item-input {
	font-family: Consolas, monaco, monospace;
	font-size: 0.85em;
	flex: 1 1 auto;
	text-align: left;
	padding: 0 0.5em 0 0.5em;
	box-sizing: border-box;
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
	height: 100%;
	
}
.entryactions-item > .entryactions-item-name {
	flex: 0 0 auto;
	text-align: right;
	width: 20em;
	padding: 0 0.5em 0 0.5em;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.localization-item > .localization-item-index {
	flex: 0 0 auto;
	text-align: right;
	width: 3em;
	padding: 0 0.5em 0 0.5em;
	box-sizing: border-box;
}
.levels-item.level.current-levels-item {
	cursor: default;
}
/*.dsgvars-item {
	padding: 0 0.5em 0 0.5em;
}*/
.dsgvars-item {
	padding: 0 0 0 0;
	display: flex;
}
.localization-item,
.entryactions-item {
	padding: 0 0 0 0;
	display: flex;
}
.transitions-item {
	padding: 0 0 0 0;
}
.dsgvars-item.dsgvars-header,
.transitions-item.transitions-header {
	font-weight: bold;
}
.objects-item.object-IPO,
.objects-item.object-sector,
.behaviors-item.category,
.transitions-item.category,
.dsgvar-array,
.selectState {
	cursor: pointer;
}

.objects-item > *,
.behaviors-item > *,
.dsgvars-item > * {
	display: block;
	padding: 0;
	margin: 0;
}
.transitions-item > * {
	display: inline-block;
}
#content-state-transitions {
	margin-top: 1em;
}

.objects-item.object-world,
.levels-item.game,
.behaviors-item.category,
.transitions-item.category,
.localization-item.category,
.script-item.category {
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	padding: 0 3em 0 3em;
	height: 3em;
	line-height: 3em;
}
.behaviors-item.category > .collapse-sign,
.transitions-item.category > .collapse-sign {
	display: inline-block;
	width: 2em;
}
.levels-item.game {
	padding: 0 4.5em 0 4.5em;
}

.object-world.level-0 {
	text-transform: uppercase;
	font-weight: bold;
}
.object-world.level-1 {
	text-transform: uppercase;
	padding: 0 3em 0 4em;
}
.objects-item.object-sector {
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	padding: 0 3em 0 5em;
}
.object-sector.level-0 {
	padding: 0 3em 0 3em;
}
.object-sector.level-1 {
	padding: 0 3em 0 4em;
}
.object-sector.level-2 {
	padding: 0 3em 0 5em;
}
.object-sector.level-3 {
	padding: 0 3em 0 6em;
}

.objects-item > .name-family,
.highlight-perso > .name-family,
#objectName > .name-family,
.dsgvar-value > .name-family {
	text-align: right;
	display: inline-block;
	font-weight: bold;
	width: 25%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
	padding: 0 0.5em 0 0;
}
.objects-item > .name-model,
.highlight-perso > .name-model,
#objectName > .name-model,
.dsgvar-value > .name-model {
	padding: 0 0.5em 0 0.5em;
	text-align: center;
	display: inline-block;
	font-style: italic;
	width: 35%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
	
}
.objects-item > .name-instance,
.highlight-perso > .name-instance,
#objectName > .name-instance,
.dsgvar-value > .name-instance {
	text-align: left;
	display: inline-block;
	width: 40%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
	padding: 0 0 0 0.5em;
}
.behaviors-item > .behavior-number {
	text-align: center;
	display: inline-block;
	/*font-weight: bold;*/
	width: 35%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
}
.behaviors-item > .behavior-name {
	text-align: left;
	display: inline-block;
	width: 65%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
}
.dsgvars-item > .dsgvar-type {
	text-align: center;
	display: inline-block;
	height: 2em;
	/*padding-right: 1em;*/
	/*font-weight: bold;*/
	width: 5%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 0 0 auto;
}
.dsgvar-type > .dsgvar-icon {
	font-size: 1.5em;
}
.dsgvars-item > .dsgvar-name {
	text-align: right;
	display: inline-block;
	padding: 0 0.5em 0 0.5em;
	/*font-weight: bold;*/
	width: 20%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
}
.dsgvars-item.dsgvar-array > .dsgvar-name {
	text-align: center;
}
.dsgvars-item > .dsgvar-value {
	text-align: left;
	display: inline-block;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	width: 25%;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
	flex: 1 1 auto;
	padding-left: 1em;
}
.transitions-item > .transitions-targetstate,
.transitions-item > .transitions-linkingtype,
.transitions-item > .transitions-statetogo {
	box-sizing: border-box;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	text-overflow: ellipsis;
}
.transitions-item > .transitions-targetstate {
	text-align: right;
	width: 45%;
	padding: 0 0.5em 0 0;
}
.transitions-item > .transitions-linkingtype {
	text-align: center;
	padding: 0 0.5em 0 0.5em;
	width: 10%;
}
.transitions-item > .transitions-statetogo {
	text-align: left;
	width: 45%;
	padding: 0 0 0 0.5em;
}
.highlight-perso > *,
#objectName > * {
	width: auto !important;
}

#highlight-tooltip {
    display: flex;
	flex-flow: column;
	align-items: center;
	box-sizing: border-box;
	padding: 0 0.5em 0 0.5em;
    margin-left: 15px;
    position: absolute;
    z-index: 100;
    line-height: 2.5em;
    border-radius: 0.75em;
    pointer-events: none;
	justify-content: space-around;
}
#text-highlight-tooltip {
    display: flex;
	flex-flow: column;
	align-items: center;
	box-sizing: border-box;
	padding: 1em 1em 1em 1em;
    margin-left: 15px;
    position: absolute;
    z-index: 200;
    line-height: 2.5em;
    border-radius: 0.75em;
    pointer-events: none;
	justify-content: space-around;
}
#text-highlight-tooltip:not(.right) {
	right: auto !important;
}
#text-highlight-tooltip.right {
	margin-left: 0;
    margin-right: 15px;
	left: auto !important;
}
#text-highlight-tooltip.rayman-2,
#text-highlight-tooltip.rrr {
	font-weight: 300;
	font-family: 'Rayman 2', sans-serif;
    line-height: 1.5em;
	text-transform: lowercase;
	font-size: 1.2em;
}
/*#text-highlight-content {
	white-space: pre-wrap;
}*/
#text-highlight-tooltip.rayman-2 > #text-highlight-content {
	background: repeating-linear-gradient(to bottom, white 0em, white 0.25em, transparent 1.25em, transparent 1.5em);
	background-color: #6EBEFF !important;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
#text-highlight-tooltip.rrr > #text-highlight-content {
	color: #6EBEFF !important;
}
#text-highlight-tooltip.rayman-3 {
	font-weight: 300;
	font-family: 'Rayman 3', sans-serif;
    line-height: 1.5em;
	font-size: 1.2em;
}

#highlight-tooltip.hidden-tooltip,
#text-highlight-tooltip.hidden-tooltip {
    display: none;
}
.highlight-header {
	font-weight: bold;
}

.highlight-perso {
    display: flex;
	flex-flow: row;
	justify-content: space-around;
}
.highlight-collider,
.highlight-waypoint {
    display: flex;
	flex-flow: row;
	justify-content: space-around;
	max-width: 28em;
}
.highlight-collideType,
.highlight-graphName {
	padding: 0 1em 0 1em;
	flex: 1 1 auto;
}



/* ============================== OBJECT DESCRIPTION ============================== */
.input-group {
	padding: 1em 0.5em 1em 1em;
	display: block;
	box-sizing: content-box;
}
.input-group.small {
	padding: 0.45em 0.5em 0.45em 1em;
}
.input-group.small.right {
	padding: 0.25em 0 0.25em 0;
}
.input-group.input-flex {
	display: flex;
	align-items: center;
	height: 1.3em;
}
.input-group.invisible {
	display: none;
}
.radio-padding {
	padding-right: 0.5em;
}
.input {
	display: block;
	box-sizing: border-box;
}
.label.main {
	display: block;
	width: 20%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.small-footer-right .label.main {
	width: 50%;
	box-sizing: border-box;
	padding-right: 0.5em;
}
.input .label.main {
	float: left;
}
.input > .fields {
	width: calc(100% - 1.5em);
}
.input > .label.main + .fields {
	display: inline-block;
	width: 80%;
	flex: 1 1 0;
}
.small-footer-right .input > .label.main + .fields {
	width: 50%;
}
.input-flex > .flexible {
	box-sizing: border-box;
	display: block;
	width: auto;
	flex: 1 1 auto;
}
.input-flex > .label.main {
	box-sizing: border-box;
	display: block;
	flex: 0 0 auto;
}
.input-flex > .label.main.label-flex {
	flex: 1 0 auto;
	width: auto;
	margin-right: 0.5em;
}
.input-flex > .header-button {
	flex: 0 0 auto;
}
.input > .fields > .field {
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
}
.input.vector3 > .fields > .field {
	display: inline-block;
	width: 33%;
	box-sizing: border-box;
}
.field > .label.sub {
	width: 20%;
	display: block;
	float: left;
	box-sizing: border-box;
}
.field > input,
.field > select {
	width: 99%;
	display: inline-block;
	box-sizing: border-box;
}
.field > .label.sub + input,
.field > .label.sub + select {
	width: 70%;
	display: inline-block;
	box-sizing: border-box;
}
.label.sub {
	/*width:*/
}
#objectName {
	display: flex;
	text-align: left;
	height: 1.3em;
	line-height: 1.3em;
	flex: 1 1 auto;
	padding-left: 0.5em;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


/* ============================== RAYMAP ===================================== */
#gameContainer {
	display: block;
	position: relative;
	height: 100%;
}
#game-content {
	box-sizing: border-box;
}
#game-content canvas {
	width: 100%;
	height: 100%;
	display: block;
}
/* try to handle mobile dialog */
#game-content canvas + * {
	z-index: 2;
}
.logo-container {
	z-index: 3;
	display: block;
	width: 100%;
	height: 100%;
	background-color: black;
	position: absolute;
	top: 0%;
	left: 0%;
}
.logo {
	z-index: 4;
	display: block;
	width: 80%;
	height: 75%;
	position: absolute;
	top: 5%;
	left: 10%;
	background-image: url('../img/vignette.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 30%;
}
.progress {
	z-index: 5;
	border: 1px solid white;
	position: absolute;
	bottom: 10%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 75%;
	font-size: 1.7em;
}
.progress .full {
	margin: 2px;
	height: 1em;
	transform-origin: top left;
	width: calc(100% - 4px) !important;
}
.progress .empty {
	width: 10%;
	top: 0;
	z-index: 5;
	position: absolute;
	background-color: black;
	right: 0;
	height: 100%;
}
.spinner,
.spinner:after {
	border-radius: 50%;
	width: 5em;
	height: 5em;
}
.spinner {
	margin: 10px;
	font-size: 10px;
	position: relative;
	text-indent: -9999em;
	border-top: 1.1em solid rgba(255, 255, 255, 0.2);
	border-right: 1.1em solid rgba(255, 255, 255, 0.2);
	border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
	border-left: 1.1em solid #ffffff;
	transform: translateZ(0);
	animation: spinner-spin 1.1s infinite linear;
}
@keyframes spinner-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.world-image {
	position: absolute;
    right: 20%;
    top: 0px;
	pointer-events: none;
	width: 12em;
	height: 12em;
	opacity: 0.1;
	font-size: 0.9em;
	background-size: contain;
	background-repeat: no-repeat;
}

.world-image.small {
	right: calc(20% + 2em);
	width: 8em;
	height: 8em;
}

.sidebar-button {
	z-index: 1;
	display: block;
	position: relative;
	width: 5em;
	height: 4em;
	background-size: 70%;
	background-repeat: no-repeat;
	background-position: center center;
	transition: background-color .4s;
	-moz-transition: background-color .4s;
	-webkit-transition: background-color .4s;
	cursor: pointer;
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.sidebar-button-image {
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 3.5em;
	height: 3.5em;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

.sidebar-slider {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 5em;
	height: 4em;
	z-index: 0;
	transition: top .2s ease-out, height .2s ease-out;
	-moz-transition: top .2s ease-out, height .2s ease-out;
	-webkit-transition: top .2s ease-out, height .2s ease-out;
}

.sidebar-arrow {
	width: 100%;
	height: 2em;
	position: absolute;
	left: 0px;
	z-index: 2;
	overflow: hidden;
	transition: height .4s;
	-moz-transition: height .4s;
	-webkit-transition: height .4s;
	
	
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 2em;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: center;
	vertical-align: middle;
	
	cursor: default;
}

.sidebar-arrow-up {
	top: 0px;
}
.sidebar-arrow-up:before {
    content: "\e904";
}

.sidebar-arrow-down {
	bottom: 0px;
}
.sidebar-arrow-down:before {
	content: "\e903";
}

.sidebar-arrow-disabled {
	height: 0em;
}

.input-before-big-button {
	width: 75%;
	display: inline-block;
}
.input-big-button {
	width: 20%;
	float: right;
	position: relative;
}
.header-button.small {
	font-size: 0.7em;
}
.lowerright {
	position: absolute;
	right: -0.5em;
	bottom: 0;
}

.loadable {
	opacity: 1;
	visibility: visible;
	transition: visibility 0s, opacity .4s;
	-moz-transition: visibility 0s, opacity .4s;
	-webkit-transition: visibility 0s, opacity .4s;
}
.loadable-header {
	transition: color .4s;
	-moz-transition: color .4s;
	-webkit-transition: color .4s;
}
.loading-header {
	pointer-events: none;
}
.loading,
.levels-actor-input-group.hidden {
	opacity: 0 !important;
	visibility: hidden !important;
	transition: visibility 0s .4s, opacity .4s;
	-moz-transition: visibility 0s .4s, opacity .4s;
	-webkit-transition: visibility 0s .4s, opacity .4s;
	pointer-events: none;
}

.loading-sidebar {
	width: 0em !important;
}

.hidden-sidebar {
	width: 0em !important;
}

.content-placeholder {
    text-align: center;
}


/* ============================== ANIMATIONS ============================== */
@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}


/* ============================== HEADER BUTTONS ============================== */
.header-buttons-right {
	display: block;
	position: absolute;
	right: 1.2em;
	top: 0.3em;
	width: 16.6em;
	height: 1.3em;
	line-height: 1.5em;
	font-size: 0.8em;
	text-align: right;
	vertical-align: center;
}
.header-buttons-left {
	display: block;
	position: absolute;
	left: 1.2em;
	top: 0.3em;
	width: 16.6em;
	height: 1.3em;
	line-height: 1.5em;
	font-size: 0.8em;
	text-align: left;
}
.small-text {
	display: block;
	position: absolute;
	right: 4.1em;
	top: 0.4em;
	height: 2.71em;
	line-height: 2.71em;
	font-size: 0.6em;
	padding-right: 1em;
	text-align: right;
}
.levels-actor-input-group {
	font-size: 0.6em;
	padding: 0.25em 3em 0 3em;
	text-align: center;
	justify-content: center;
	display: flex;
}
.levels-actor-input {
	display: flex;
	width: 50%;
	flex: 0 1 auto;
	box-sizing: border-box;
}
.levels-actor-input.invisible {
	display: none;
}
.levels-actor-input-group {
	transition: opacity .4s;
	-moz-transition: opacity .4s;
	-webkit-transition: opacity .4s;
	opacity: 1;
}
.small-footer-right {
	display: block;
	position: absolute;
	right: 4.1em;
	top: 0.4em;
	height: 2.71em;
	line-height: 2.71em;
	font-size: 0.6em;
	text-align: right;
	width: 30%;
}
.header-buttons-text {
	display: inline-block;
	height: 1.3em;
    font-size: 0.9em;
    vertical-align: top;
	padding: 0.15em 0.3em 0.3em 0.3em;
}
.header-button .text {
	font-weight: bold;
	font-size: 0.8em;
	text-align: center;
	margin-top: -0.15em;
	margin-left: -0.1em;
}
.header-button {
	display: inline-block;
	width: 1.3em;
	height: 1.3em;
	background-color: transparent;
	text-align: center;
	padding: 0.3em;
	
	border-radius: 50%;
	/* border: 2px solid #9ed9a0; */
	transition: background-color .4s, opacity .4s, color .4s;
	-moz-transition: background-color .4s, opacity .4s, color .4s;
	-webkit-transition: background-color .4s, opacity .4s, color .4s;
	opacity: 1;
	cursor: pointer;
    text-decoration: inherit; /* no underline */
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.header-button.header-button-withtext {
	padding: 0.3em 0.5em 0.3em 0.5em;
	width: auto;
	border-radius: 1em;
}
#btn-backToHub {
	opacity: 0.5;
}
#btn-backToHub:hover {
	opacity: 1;
}
.header-button.header-button-withtext .header-buttons-text {
	padding: 0 0.5em 0 0.5em;
	line-height: 1.3em;
}
.header-button.big {
	font-size: 2em;
}
.header-button.invisible-button {
	opacity: 0;
	pointer-events: none;
}
.header-button.selected {
	font-weight: bold;
}
.header-button.disabled-button {
	pointer-events: none;
}
.header-slider-container {
	display: inline-block;
	width: 5.2em;
	height: 1.3em;
	box-sizing: border-box;
	padding-top: 0.4em;
	
}
.header-slider {
	box-sizing: border-box;
	display: block;
	width: 5.2em;
	height: 1.0em;
	outline: none;
	-webkit-appearance: none;  /* Override default CSS styles */
    appearance: none;
	transition: opacity .4s;
	-moz-transition: opacity .4s;
	-webkit-transition: opacity .4s;
    background: transparent;
}
.header-slider.invisible-button {
	opacity: 0;
	pointer-events: none;
}
.header-slider.disabled-button {
	opacity: 0.5;
	pointer-events: none;
}
input[type=range] {
	padding: 0;
	-webkit-appearance: none;
    background: transparent;
	margin: 0;
}
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    cursor: pointer; /* Cursor on hover */
    width: 0.7em; /* Set a specific slider handle width */
    height: 0.7em; /* Slider handle height */
    border-radius: 50%;
	margin-top: -0.35em;
}

input[type=range]::-moz-range-thumb {
    width: 0.7em; /* Set a specific slider handle width */
    height: 0.7em; /* Slider handle height */
    border-radius: 50%; 
    cursor: pointer; /* Cursor on hover */
}

input[type=range]:focus {
  outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}

input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;

  /* Hides the slider so custom styles can be added */
  background: transparent; 
  border-color: transparent;
  color: transparent;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.25em;
  cursor: pointer;
  border-radius: 1.3px;
  margin-top: -0.35em;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 0.25em;
  cursor: pointer;
  border-radius: 1.3px;
}

input[type=range]::-ms-track {
  width: 100%;
  height: 0.25em;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 16px 0;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  border: 0.2px solid #010101;
  border-radius: 2.6px;
}
input[type=range]::-ms-fill-upper {
  border: 0.2px solid #010101;
  border-radius: 2.6px;
}
/*#btn-home {
	right: auto;
	left: 1.2em;
}*/
/* ============================== POPUP WINDOW STYLE ============================== */
#popup-overlay {
	position: absolute;
	top: 0; left: 0;
	z-index: 130;
	width: 100%;
	height: 100%;
	opacity: 1;
	-webkit-transition: opacity 0.6s;
	-moz-transition: opacity 0.6s;
	transition: opacity 0.6s;
	pointer-events: auto;
}
#popup-overlay.hidden-overlay {
	pointer-events: none;
	opacity: 0;
}
#dialogue-popup {
	position: absolute;
	bottom: 2em;
	left: calc(50% - 2em);
	transform: translateX(-50%);
	font-size: 1.4em;
	width: 50%;
	height: 7em;
	background-color: transparent;
	z-index: 150;
	transition: 0.6s;
}
#dialogue-popup.hidden-popup {
	pointer-events: none;
	bottom: -9em;
}
#cine-popup {
	display: block;
	position: absolute;
	bottom: 3em;
	right: 0em;
	width: 16em;
	height: 6em;
	border-radius: 2em 0em 0em 0em;
	padding: 1em;
	line-height: 1.5em;
	box-sizing: border-box;
	overflow: hidden;
	transition:visibility 0s linear, transform 0.3s;
	transform-origin: 50% 100%;
	transform: scaleY(1);
}
#camera-popup {
	display: block;
	position: absolute;
	bottom: 3em;
	right: 0em;
	width: 24em;
	height: 6em;
	border-radius: 2em 0em 0em 0em;
	padding: 1em 2em 1em 2em;
	line-height: 1.5em;
	box-sizing: border-box;
	overflow: hidden;
	transition:visibility 0s linear, transform 0.3s;
	transform-origin: 50% 100%;
	transform: scaleY(1);
}
#cine-popup.hidden-popup,
#camera-popup.hidden-popup {
	visibility: 0;
	transition:visibility 0s linear, transform 0.3s;
	transform: scaleY(0);
}
.camera-options {
	display: block;
	float: right;
	width: 19em;
	text-align: left;
	font-size: 0.8em;
}
.cine-options {
	display: block;
	text-align: left;
	font-size: 0.8em;
}
.icon-transparency.hidden,
.icon-opaque.hidden {
	display: none;
}
#dialogue-image {
	float: left;
	padding: 0em;
	box-sizing: border-box;
	width: 8em;
	height: 100%;
	background-image: none;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
#dialogue-content {
	float: right;
	border-radius: 3em;
	padding: 1em 2em 1em 2em;
	line-height: 1.5em;
	box-sizing: border-box;
	height: 100%;
	width: calc(100% - 9em);
	overflow: hidden;
}
#share-popup {
	position: absolute;
	bottom: 0.9em;
	left: calc(70% - 8em);
	transform: translateX(-50%);
	font-size: 1.7em;
	width: auto;
	height: 2em;
	background-color: transparent;
	z-index: 160;
	transition: 0.7s;
}
#share-popup.hidden-popup {
	pointer-events: none;
	bottom: -9em;
}
.share-button {
	display: inline-block;
	width: auto;
	height: 2em;
	text-align: left;
	line-height: 2em;
	font-size: 0.7em;
	padding-top: 0.3em;
	padding-bottom: 0.3em;
	padding-left: 1.2em;
	padding-right: 1.2em;
	margin-left: 0.7em;
	overflow: hidden;
	vertical-align: middle;
	
	border-radius: 15%/50%;
	-webkit-transition: background-color .4s, opacity .4s, color .4s;
	-moz-transition: background-color .4s, opacity .4s, color .4s;
	transition: background-color .4s, opacity .4s, color .4s;
	cursor: pointer;
    text-decoration: inherit; /* no underline */
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#btn-share-bbcode > i {
	float: left;
	vertical-align: middle;
	padding-right: 0.2em;
	padding-top: 0.1em;
	font-size: 1.7em;
}
#btn-share-direct > i {
	float: left;
	vertical-align: middle;
	padding-right: 0.55em;
	padding-top: 0.4em;
	font-size: 1.3em;
}
#cover-popup {
	position: absolute;
	top: calc(50% - 4.5em);
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: 1.4em;
	width: 60vh;
	height: 60vh;
	z-index: 140;
	transition: 0.6s;
	border-radius: 2em;
	padding: 1em 1em 1em 1em;
	line-height: 1.5em;
	box-sizing: border-box;
	overflow: hidden;
	text-align: center;
	
}
#cover-popup.hidden-popup {
	pointer-events: none;
	top: -30%;
	height: 60%;
}
#cover-image-wrapper {
	display: inline-block;
	height: calc(100% - 2em);
	width: calc(100% - 2em);
	opacity: 1;
	-webkit-transition: opacity .4s;
	-moz-transition: opacity .4s;
	transition: opacity .4s;
	/*background-image: none;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;*/
}
.cover-image {
	display: block;
	height: 100%;
	width: 100%;
}
#cover-image-wrapper.loading-image {
	opacity: 0;
}

#cover-text-outer {
	display: inline-block;
	height: 2em;
	width: 100%;
}
#cover-text {
	display: inline-block;
	height: 100%;
	margin-left: 0.7em;
	margin-right: 0.7em;
	line-height: 2em;
	vertical-align: top;
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.cover-button {
	display: inline-block;
	width: 2em;
	height: 2em;
	cursor: pointer;
	overflow: hidden;
	border-radius: 50%;
	box-sizing: border-box;
	-webkit-transition: background-color .4s, color .4s;
	-moz-transition: background-color .4s, color .4s;
	transition: background-color .4s, color .4s;
    text-decoration: inherit; /* no underline */
	line-height: 1.85em;
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.cover-button.disabled-button {
	pointer-events: none;
}
.cover-button > i {
	width: 100%;
	vertical-align: middle;
}
#notification-popup {
	/*pointer-events: none;*/
	position: absolute;
	bottom: 2em;
	left: 12.5%;
	font-size: 1.4em;
	width: 75%;
	height: 3em;
	z-index: 130;
	transition: 0.6s;
	border-radius: 2em;
	padding: 1em 1em 1em 1em;
	 -webkit-box-shadow: rgba(0,0,0,0.4) 0px 0 10px;
	-moz-box-shadow: rgba(0,0,0,0.4) 0 0 10px;
	box-shadow: rgba(0,0,0,0.4) 0 0 10px;
	line-height: 1em;
	vertical-align: center;
	box-sizing: border-box;
	overflow: hidden;
	text-align: center;
	
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	
}
#notification-popup.hidden-popup {
	bottom: -9em;
}
#levelselect-popup,
#script-popup,
#localization-popup,
#info-popup,
#entryactions-popup {
	position: absolute;
	bottom: 50%;
	left: 50%;
	transform: translate(-50%,50%);
	font-size: 1.1em;
	height: 85%;
	width: 85%;
	max-width: 51.1em;
	z-index: 140;
	transition: 0.6s bottom;
	border-radius: 2em;
	/*padding: 1em 1em 1em 1em;*/
	line-height: 1.5em;
	box-sizing: border-box;
	overflow: hidden;
}
#levelselect-popup {
	display: flex;
	max-width: 90em;
}
.column-games {
	flex: 1 1 auto;
	width: 28%;
}
.column-versions {
	flex: 1 1 auto;
	width: 22%;
	box-sizing: border-box;
	/*padding: 0 0.5em 0 0.5em;*/
}
.column-levels {
	flex: 1 1 auto;
	width: 50%;
}
#script-popup,
#localization-popup,
#entryactions-popup {
	max-width: 80em;
}
#levelselect-popup.hidden-popup,
#script-popup.hidden-popup,
#localization-popup.hidden-popup,
#config-popup.hidden-popup,
#info-popup.hidden-popup,
#entryactions-popup.hidden-popup {
	pointer-events: none;
	bottom: -50%;
}
#content-levels {
	overflow-y: auto;
}
#content-script {
	text-align: left;
}
.script-item-code {
	text-align: left;
	white-space: pre;
	padding: 1em 2em 1em 2em;
	box-sizing: border-box;
}
#header-script-text {
	font-family: Consolas, monaco, monospace;
	font-size: 0.7em;
}
			
.header-image {
	padding: 0;
	margin: 0;
	width: 100%;
	height: 20vh;
	object-fit: cover;
	object-position: 50% 100%;
	display: block;
}


#config-popup {
	position: absolute;
	bottom: 50%;
	left: 50%;
	transform: translate(-50%,50%);
	font-size: 1.1em;
	height: auto;
	width: 60em;
	z-index: 140;
	transition: 0.6s;
	border-radius: 2em;
	/*padding: 1em 1em 1em 1em;*/
	line-height: 1.5em;
	box-sizing: border-box;
	overflow: hidden;
	text-align: center;
	
}
.config-header {
	display: block;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	padding: auto 0;
	height: 3em;
	line-height: 3em;
	font-weight: bold;
	margin: 0;
	text-align: center;
}
a.config-header {
	transition: color 0.3s, background-color 0.3s;
}
.style-items {
	display: flex;
}
.style-item {
	vertical-align: middle;
	flex: 1 1 auto;
	display: block;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	padding-top: 1em;
	width: 8.5em;
	line-height: 3em;
	text-align: center;
	cursor: pointer;
	margin: 0;
	
	-o-transition: background-color .4s, color .4s, font-weight .4s;
    -ms-transition: background-color .4s, color .4s, font-weight .4s;
    -moz-transition: background-color .4s, color .4s, font-weight .4s;
    -webkit-transition: background-color .4s, color .4s, font-weight .4s;
    transition: background-color .4s, color .4s, font-weight .4s;
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.style-item-color {
	display: block;
	box-sizing: border-box;
	border-radius: 50%;
	margin: 0 auto;
	width: 2em;
	height: 2em;
	background-color: #000;
    filter: drop-shadow(0px 0px 4px #0006);
}

.style-item-text {
	display: block;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
    text-decoration: inherit; /* no underline */
	height: 3em;
	line-height: 3em;
}

.current-style-item {
	font-weight: bold;
}

.info-content {
	display: flex;
	flex-direction: row;
}
.info-content-column {
	flex: 1 1 auto;
	text-align: center;
	padding: 1em;
}
.column-footer.footer-text {
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 2.1em;
	height: 2.1em;
	vertical-align: middle;
	position: relative;
	font-size: 1.5em;
	
	/*-webkit-border-bottom-left-radius: 3em;
	-webkit-border-bottom-right-radius: 3em;
	-moz-border-radius-bottomleft: 3em;
	-moz-border-radius-bottomright: 3em;
	border-bottom-left-radius: 3em;
	border-bottom-right-radius: 3em;*/
}

.footer-content {
	font-size: 0.65em;
	line-height: initial;
}



.state-diagram-header {
    height: 2.5em;
    padding: 1em;
}



/* ICOMOON CORRECTIONS */
#btn-fog > * {
	vertical-align: text-bottom;
	line-height: 1.3em;
}



/* ============================== HIGHLIGHT.JS ============================= */


.hljs {
	display: block;
}
  

.hljs-keyword,
.hljs-attribute,
.hljs-selector-tag,
.hljs-meta-keyword,
.hljs-doctag,
.hljs-name {
	font-weight: 900;
}
.hljs-title,
.hljs-section {
	font-weight: 900;
}
/* Misc effects */

.hljs-emphasis {
	font-style: italic;
}

.hljs-strong {
	font-weight: 900;
}

/* ============================== MOBILE ONLY ============================== */
.mobile-tabswitch-button {
	display: none;
	position: absolute;
	left: 1.2em;
	top: 0.5em;
	width: 1.3em;
	height: 1.3em;
	text-align: center;
	line-height: 1.5em;
	font-size: 2.5em;
	padding: 0.3em;
	
	border-radius: 50%;
	/* border: 2px solid #9ed9a0; */
	transition: background-color .4s, opacity .4s, color .4s;
	-moz-transition: background-color .4s, opacity .4s, color .4s;
	-webkit-transition: background-color .4s, opacity .4s, color .4s;
	opacity: 1;
	cursor: pointer;
    text-decoration: inherit; /* no underline */
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.mobile-tabswitch-button-right {
	left: auto;
	right: 1.2em;
}

.mobile-tabswitch-button.disabled-button {
	/*opacity: 0;*/
	pointer-events: none;
}
.mobile-tabswitch-button.invisible-button {
	opacity: 0;
	pointer-events: none;
}

/* MEDIA QUERIES */
@media only screen and (max-width: 1600px) {
    html {
        font-size: 0.8em;
    }
}
@media only screen and (max-width: 1200px) {
    html {
        font-size: 0.6em;
    }
}

@media only screen and (max-width: 500px) {
    html {
        font-size: 0.55em;
    }
}